<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:p="http://primefaces.org/ui"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:c="http://java.sun.com/jsp/jstl/core">
    <h:form id="create-form">
        <center>
            <p:growl id="myGrowl" showDetail="true" globalOnly="true" life="2000" />
        </center>
        <center>
            <p:panelGrid style="width: 80%; font-size: 10px" id="pgGestionarProveedorMovilizacion">
                <f:facet name="header">
                    <p:row>
                        <p:column colspan="9">Registro Proveedor </p:column>
                    </p:row>
                </f:facet>
                <p:row >
                    <p:column styleClass="celdaLabelMayor">
                        <h:outputLabel  value="Razon Social Proveedor:" />
                    </p:column>
                    <p:column colspan="9" >
                        <p:inputText required="true" value="#{beanGestionProveedorMovilizacion.proveedor.razonSocialProveedor}" requiredMessage="#{msg.requiredField}" 
                                     size="100" id="nombreProveedorMovilizacion" ></p:inputText>
                        <p:message for="nombreProveedorMovilizacion" id="nombreProveedorMovilizacionmsg"></p:message>
                    </p:column>
                </p:row>

                <p:row>
                    <p:row>
                        <p:separator></p:separator>
                    </p:row>

                    <p:column colspan="9">

                        <p:column styleClass="celdaLabelMayor">
                            <h:outputLabel  value="Direccion" />
                        </p:column>
                    </p:column>
                </p:row>
                <p:row >
                    <p:column styleClass="celdaLabel" style="width: 10%">
                        <h:outputText value="Tipo de Vía" />
                    </p:column>

                    <p:column styleClass="celdaLabel">
                        <h:outputText value="Nombre o Número de Vía" />
                    </p:column>
                    <p:column styleClass="celdaLabel">
                        <h:outputText value="Prefijo o Cuadrante" />
                    </p:column>
                    <p:column styleClass="celdaLabel">
                        <h:outputText value="Prefijo o Cuadrante" />
                    </p:column>
                    <p:column styleClass="celdaLabel">
                        <h:outputText value="Número Vía Generadora" />
                    </p:column>
                    <p:column styleClass="celdaLabel">
                        <h:outputText value="Prefijo o Cuadrante Via Generadora" />
                    </p:column>
                    <p:column styleClass="celdaLabel">
                        <h:outputText value="Prefijo o Cuadrante" />
                    </p:column>
                    <p:column styleClass="celdaLabel">
                        <h:outputText value="Numero de la Placa" />
                    </p:column>
                    <p:column styleClass="celdaLabel">
                        <h:outputText value="Ubicación Geográfica" />
                    </p:column>
                </p:row>
                <p:row>
                    <p:column>
                        <p:selectOneMenu id="tipoVia" title="Seleccione el tipo de vía de la direccion" 
                                         valueChangeListener="#{gestionarProveedorMovilizacion.revisarDireccion}"
                                         required="true" converter="tipoViaConverter" value="#{beanGestionProveedorMovilizacion.proveedor.direccionIdDireccion.tipoViaIdTipoVia}" 
                                         requiredMessage="#{msg.requiredSelect}">
                            <f:selectItem itemLabel="--Seleccione el tipo de via--" itemValue=""/>
                            <f:selectItems value="#{beanGestionProveedorMovilizacion.tipoViaList}" var="tipoVia" itemValue="#{tipoVia}" itemLabel="#{tipoVia.nombreTipoVia}"/>
                            <p:ajax global="false" event="change" listener="#{gestionarProveedorMovilizacion.revisarDireccion}"
                                    update="linkMap,address,myGrowl"
                                    process="@this"/>
                        </p:selectOneMenu>
                        <p:message for="tipoVia" id="AAA23"/>
                    </p:column>
                    <p:column>
                        <p:inputText id="nombreONumeroVia" required="true"
                                     valueChangeListener="#{gestionarProveedorMovilizacion.revisarDireccion}"
                                     value="#{beanGestionProveedorMovilizacion.proveedor.direccionIdDireccion.nombreViaDireccion}"
                                     requiredMessage="#{msg.requiredField}" maxlength="50" >
                            <p:ajax event="blur" process="@this" update="address" listener="#{gestionarProveedorMovilizacion.revisarDireccion}"></p:ajax>

                        </p:inputText>
                        <p:message for="nombreONumeroVia" id="AAA24"/>
                    </p:column>
                    <p:column>
                        <p:selectOneMenu id="prefijo1" converter="prefijoConverter" value="#{beanGestionProveedorMovilizacion.proveedor.direccionIdDireccion.idPrefijo1}"
                                         label="Seleccione el prefijo o cuadrante"
                                         valueChangeListener="#{gestionarProveedorMovilizacion.revisarDireccion}">
                            <f:selectItem itemLabel="" itemValue=""/>
                            <f:selectItems value="#{beanGestionProveedorMovilizacion.prefijoList}" var="prefijo1" itemValue="#{prefijo1}" itemLabel="#{prefijo1.nombrePrefijo}"/>
                            <p:ajax global="false" event="change" listener="#{gestionarProveedorMovilizacion.revisarDireccion}"
                                    update="linkMap,address,myGrowl"
                                    process="@this"/>
                        </p:selectOneMenu>
                        <p:message for="prefijo1" id="AAA25"/>
                    </p:column>
                    <p:column>
                        <p:selectOneMenu id="prefijo1A" 
                                         value="#{beanGestionProveedorMovilizacion.proveedor.direccionIdDireccion.idPrefijo2}"
                                         converter="prefijoConverter" valueChangeListener="#{gestionarProveedorMovilizacion.revisarDireccion}"
                                         title="Seleccione el prefijo o cuadrante">
                            <f:selectItem itemLabel="" itemValue=""/>
                            <f:selectItems value="#{beanGestionProveedorMovilizacion.prefijoList}" var="prefijo2" itemValue="#{prefijo2}" itemLabel="#{prefijo2.nombrePrefijo}"/>
                            <p:ajax global="false" event="change" listener="#{gestionarProveedorMovilizacion.revisarDireccion}"
                                    update="linkMap,address,myGrowl"
                                    process="@this"/>
                        </p:selectOneMenu>
                        <p:message for="prefijo1A" id="AAA26"/>
                    </p:column>
                    <p:column>
                        <p:inputText id="numeroViaGeneradora" size="5" required="true"
                                     value="#{beanGestionProveedorMovilizacion.proveedor.direccionIdDireccion.numeroViaDireccion}"
                                     requiredMessage="#{msg.requiredField}" valueChangeListener="#{gestionarProveedorMovilizacion.revisarDireccion}"
                                     maxlength="5">
                            <p:ajax global="false" event="blur" listener="#{gestionarProveedorMovilizacion.revisarDireccion}"
                                    update="linkMap,address,myGrowl"
                                    process="@this"/>
                        </p:inputText>
                        <p:message for="numeroViaGeneradora" id="AAA261"/>
                    </p:column>
                    <p:column>
                        <p:selectOneMenu id="prefijo2" disabled="false"
                                         value="#{beanGestionProveedorMovilizacion.proveedor.direccionIdDireccion.idPrefijo3}"
                                         valueChangeListener="#{gestionarProveedorMovilizacion.revisarDireccion}"
                                         converter="prefijoConverter"
                                         title="Seleccione el Tercer Prefijo o Cuadrante"
                                         >
                            <f:selectItem itemLabel=" " itemValue=""/>
                            <f:selectItems value="#{beanGestionProveedorMovilizacion.prefijoList}" var="prefijo3" itemValue="#{prefijo3}" itemLabel="#{prefijo3.nombrePrefijo}"/>
                            <p:ajax global="false" event="change" listener="#{gestionarProveedorMovilizacion.revisarDireccion}"
                                    update="linkMap,address,myGrowl"
                                    process="@this"/>
                        </p:selectOneMenu>
                        <p:message for="prefijo2" id="AAA27"/>
                    </p:column>
                    <p:column>
                        <p:selectOneMenu id="prefijo2A"
                                         value="#{beanGestionProveedorMovilizacion.proveedor.direccionIdDireccion.idPrefijo4}"
                                         valueChangeListener="#{gestionarProveedorMovilizacion.revisarDireccion}"
                                         converter="prefijoConverter"
                                         title="Seleccione el Cuarto Prefijo o Cuadrante" >
                            <f:selectItem itemLabel=" " itemValue=""/>
                            <f:selectItems value="#{beanGestionProveedorMovilizacion.prefijoList}" var="prefijo4" itemValue="#{prefijo4}" itemLabel="#{prefijo4.nombrePrefijo}"/>
                            <p:ajax global="false" event="change" listener="#{gestionarProveedorMovilizacion.revisarDireccion}"
                                    update="linkMap,address,myGrowl"
                                    process="@this"/>
                        </p:selectOneMenu>
                        <p:message for="prefijo2A" id="AAA28"/>
                    </p:column>
                    <p:column>
                        <p:inputText id="numeroPlaca" size="5" required="true"
                                     maxlength="3"
                                     valueChangeListener="#{gestionarProveedorMovilizacion.revisarDireccion}"
                                     requiredMessage="#{msg.requiredField}" 
                                     value="#{beanGestionProveedorMovilizacion.proveedor.direccionIdDireccion.numeroPlacaDireccion}">
                            
                            <p:ajax global="false" event="blur" listener="#{gestionarProveedorMovilizacion.revisarDireccion}"
                                    update="linkMap,address,myGrowl"
                                    process="@this"/>                                                      
                        </p:inputText>
                        <p:message for="numeroPlaca" id="AAA29"/>
                    </p:column>
                    <p:column>
                        
                        <p:commandLink id="linkMap" 
                                       disabled="#{beanGestionProveedorMovilizacion.habilitarmapa}"
                                       title="Ver mapa" 
                                       onclick="mapDialogProCons.show();codeAddressProveedorMovilizacion()">
                            <p:graphicImage  value="#{beanGestionProveedorMovilizacion.globeIcon}" 
                                            
                                            />
                           
                        </p:commandLink>
                    </p:column>
                </p:row>
                <p:row>
                    <p:column colspan="9">
                        <p:selectOneMenu id="datoComplementario1" converter="datoComplementarioConverter"
                                         value="#{beanGestionProveedorMovilizacion.proveedor.direccionIdDireccion.datoComplementario}"
                                         >
                            <f:selectItem itemLabel="-Seleccione-" itemValue=""/>
                            <f:selectItems value="#{beanGestionProveedorMovilizacion.datoComplementarioList}" var="dComplem" itemValue="#{dComplem}" itemLabel="#{dComplem.nombreDatoComplementario}"/>
                            <p:ajax global="false" event="change" process="@this"/>
                        </p:selectOneMenu>
                    </p:column>
                </p:row>
                <p:row>
                    
                    <p:column>
                        <p:inputText  id="address" disabled="true" 
                                      size="50" value="#{beanGestionProveedorMovilizacion.direccionMostrada}" />
                    </p:column>
                    <p:column>
                        <p:outputLabel id="coordenadas" value="Coordenadas: "/>
                    </p:column>  
                    <p:column colspan="7">
                        <p:outputLabel id="coordenadasMap" />
                    </p:column>  

                </p:row>
                <p:row>

                    <p:column >
                        <h:outputLabel  value="Telefono de Contacto:" />
                    </p:column>
                    <p:column  >
                        <p:inputText id="TelefonoContacto" 
                                     value="#{beanGestionProveedorMovilizacion.proveedor.telefonoContactoProveedor}" 
                                     required="true" requiredMessage="#{msg.requiredField}" size="20"></p:inputText>
                        <p:message for="TelefonoContacto" id="TelefonoContactomsg"></p:message>
                    </p:column>

                    <p:column >
                        <h:outputLabel  value="Tipo de Proveedor:" />
                    </p:column>
                    <p:column colspan="9">
                        <p:selectOneMenu id="tipodeproveedor" 
                                         value="#{beanGestionProveedorMovilizacion.proveedor.tipoProveedorIdTipoProveedor}"
                                         converter="tipoProveedorConverter" required="true" requiredMessage="#{msg.requiredSelect}" >  

                            <f:selectItem itemLabel="--Seleccione un tipo de proveedor--" itemValue=""></f:selectItem>
                            <f:selectItems value="#{beanGestionProveedorMovilizacion.listaTipoProvedor}"
                                           var="tipoProveedor" itemLabel="#{tipoProveedor.nombreProveedor}"
                                           itemValue="#{tipoProveedor}">

                            </f:selectItems>
                        </p:selectOneMenu> 

                        <p:message id="tipodeproveedormsg" for="tipodeproveedor"></p:message>
                    </p:column>
                </p:row>
                <p:row >
                    <p:column colspan="5" style="text-align: left">
                        <p:commandButton value="Guardar" actionListener="#{guardarProveedorMovilizacion}"
                                         process="@this,nombreProveedorMovilizacion,tipoVia,nombreONumeroVia,
                                         numeroViaGeneradora,numeroPlaca,TelefonoContacto,tipodeproveedor " 
                                         update="nombreProveedorMovilizacionmsg,myGrowl,AAA23,AAA24,AAA261,AAA29,
                                         TelefonoContactomsg,tipodeproveedormsg,nombreProveedorMovilizacion,tipoVia,nombreONumeroVia,
                                         numeroViaGeneradora,numeroPlaca,TelefonoContacto,tipodeproveedor,resumenProveedoresMovilizacion "/>
                    </p:column>
                </p:row>
            </p:panelGrid>

        </center>

        <br></br>
        <br></br>
        <center>
            <p:dataTable id="resumenProveedoresMovilizacion" var="proveedorMovilizacion" 
                         style="font-size: 12px; width: 100%" 
                         value="#{beanGestionProveedorMovilizacion.listaAgregada}"
                         emptyMessage="No se han encontrado proveedores registrados" paginator="true" 
                         rowKey="#{proveedorMovilizacion.idProveedor}"
                         selection="#{beanGestionProveedorMovilizacion.proveedorselected}"
                         selectionMode="single"> 
                
                <p:ajax event="rowSelect" listener="#{gestionarProveedorMovilizacion.rowSelected}"   
                            update="resumenProveedoresMovilizacion,:menu:tabViewGeneral:tabViewMovilizacion"  />  
                <p:ajax event="rowUnselect" listener="#{gestionarProveedorMovilizacion.onRow}" update="resumenProveedoresMovilizacion,:menu:tabViewGeneral:tabViewMovilizacion"/>  
                <f:facet name="header">  
                    <p:row>
                        <p:column >Resumen de los proveedores de movilización</p:column>
                    </p:row>
                </f:facet>  

                <p:column filterBy="#{proveedorMovilizacion.razonSocialProveedor}" headerText="Razón Social">  
                        <h:outputText value="#{proveedorMovilizacion.razonSocialProveedor}"></h:outputText>
                    </p:column>  

                    <p:column filterBy="#{proveedorMovilizacion.telefonoContactoProveedor}" headerText="Telefono">  
                        <h:outputText value="#{proveedorMovilizacion.telefonoContactoProveedor}"></h:outputText>
                    </p:column>  

                    <p:column filterBy="#{proveedorMovilizacion.tipoProveedorIdTipoProveedor.nombreProveedor}" headerText="Tipo de proveedor" >  
                        <h:outputText value="#{proveedorMovilizacion.tipoProveedorIdTipoProveedor.nombreProveedor}"></h:outputText>
                    </p:column>  

                    <p:column filterBy="#{proveedorMovilizacion.direccionIdDireccion.tipoViaIdTipoVia.nombreTipoVia} #{proveedorMovilizacion.direccionIdDireccion.nombreViaDireccion} 
                              #{proveedorMovilizacion.direccionIdDireccion.idPrefijo1.nombrePrefijo} #{proveedorMovilizacion.direccionIdDireccion.idPrefijo2.nombrePrefijo}
                              #{proveedorMovilizacion.direccionIdDireccion.numeroViaDireccion}
                              #{proveedorMovilizacion.direccionIdDireccion.idPrefijo3.nombrePrefijo} #{proveedorMovilizacion.direccionIdDireccion.idPrefijo4.nombrePrefijo}
                              #{proveedorMovilizacion.direccionIdDireccion.numeroPlacaDireccion}  #{proveedorMovilizacion.direccionIdDireccion.datoComplementario.nombreDatoComplementario}" headerText="Dirección">  
                        <h:outputText value="#{proveedorMovilizacion.direccionIdDireccion.tipoViaIdTipoVia.nombreTipoVia}  #{proveedorMovilizacion.direccionIdDireccion.nombreViaDireccion} 
                                      #{proveedorMovilizacion.direccionIdDireccion.idPrefijo1.nombrePrefijo} #{proveedorMovilizacion.direccionIdDireccion.idPrefijo2.nombrePrefijo} #
                                      #{proveedorMovilizacion.direccionIdDireccion.numeroViaDireccion}
                                      #{proveedorMovilizacion.direccionIdDireccion.idPrefijo3.nombrePrefijo} #{proveedorMovilizacion.direccionIdDireccion.idPrefijo4.nombrePrefijo}
                                      #{proveedorMovilizacion.direccionIdDireccion.numeroPlacaDireccion}  #{proveedorMovilizacion.direccionIdDireccion.datoComplementario.nombreDatoComplementario}"></h:outputText>
                    </p:column> 
                    <p:column headerText="Estado" >
                        <p:selectBooleanButton value="#{proveedorMovilizacion.estadoProveedor}" onLabel="Activo" offLabel="Inactivo" disabled="true" onIcon="ui-icon-check" offIcon="ui-icon-close">  </p:selectBooleanButton>    
                    </p:column>
            </p:dataTable> 
            <p:commandButton value="Actualizar " actionListener="#{actualizarProveedorConstruccion}"
                                         process="@this"
                                         update="resumenProveedoresMovilizacion" 
                                         />
        </center>

    </h:form>
    
</html>